package com.css.zfzx.sjcj.common;

import java.util.ArrayList;
import java.util.List;

/**
 * @Author Zyl
 * @Date 2021/4/13 18:55
 * @Version 1.0
 * @Describe:
 */
public enum MenuInfoEnum {

    /**
     * 枚举类也是java类，可以声明属性、方法（构造方法只能是私有的）、可以实现接口，但是不能继承（默认继承了java.lang.Enum），也不能被继承（默认使用final修饰）
     * LOCK,NORMAL 实际是  UserStatus的单例模式，如 public static final UserStatus LOCK = new UserStatus("0","锁定状态")
     * 如果枚举不需要属性，则可以声明一个无参的构造方法，然后定义一个无属性的枚举值，如OTHER
     * 枚举类实现接口后，可以分别在每个对象中实现接口方法
     */

    /**
     * ============================普查数据统计-菜单==================
     */
    PC_DATA_STAT("1","普查数据统计","0",null,"1"),

    QH_DANGER("3","地震危险性评价图","1","1","1"),
    //qh_probability_earthquake_danger
    QH_PEDANGER("301","地震动PGA图（矢量点）","2","3","1"),
    //qh_risk_level_map_point
    QH_RLMAP_POINT("302","地震危险性等级图(矢量点)","2","3","1"),
    //qh_risk_level_map_polygon
    QH_RLMAP_POLYGON("303","地震危险性等级图(矢量面)","2","3","1"),

    FX_ECOLL_MAP("7","直接经济损失风险等级图","1","1","1"),
    //fx_picture
    //FX_PICTURE_JJ("701","地震灾害房屋直接经济损失评估图","2","7","1"),
    //fx_economic_loss_level_map
    FX_ECOLL_MAP_63("702","50年超越概率63%地震作用下房屋直接经济损失等级图","2","7","1"),
    FX_ECOLL_MAP_10("703","50年超越概率10%地震作用下房屋直接经济损失等级图","2","7","1"),
    FX_ECOLL_MAP_2("704","50年超越概率2%地震作用下房屋直接经济损失等级图","2","7","1"),
    FX_ECOLL_MAP_1("705","100年超越概率1%地震作用下房屋直接经济损失等级图","2","7","1"),

    FX_CASL_MAP("13","死亡人口风险等级图","1","1","1"),
    //fx_picture
    //FX_PICTURE_RK("1301","地震灾害房屋破坏导致的死亡人口评估图","2","13","1"),
    //fx_casualty_level_map
    FX_CASL_MAP_63("1302","50年超越概率63%地震作用下房屋破坏导致的死亡人口等级图","2","13","1"),
    FX_CASL_MAP_10("1303","50年超越概率10%地震作用下房屋破坏导致的死亡人口等级图","2","13","1"),
    FX_CASL_MAP_2("1304","50年超越概率2%地震作用下房屋破坏导致的死亡人口等级图","2","13","1"),
    FX_CASL_MAP_1("1305","100年超越概率1%地震作用下房屋破坏导致的死亡人口等级图","2","13","1"),

    FX_ECOLE_MAP("15","直接经济损失风险评估图","1","1","1"),
    //fx_economic_loss_evaluation_map
    FX_ECOLE_MAP_63("1501","50年超越概率63%地震作用下房屋直接经济损失评估图","2","15","1"),
    FX_ECOLE_MAP_10("1502","50年超越概率10%地震作用下房屋直接经济损失评估图","2","15","1"),
    FX_ECOLE_MAP_2("1503","50年超越概率2%地震作用下房屋直接经济损失评估图","2","15","1"),
    FX_ECOLE_MAP_1("1504","100年超越概率1%地震作用下房屋直接经济损失评估图","2","15","1"),

    FX_CASE_MAP("17","死亡人口风险评估图","1","1","1"),
    //fx_casualty_evaluation_map
    FX_CASE_MAP_63("1701","50年超越概率63%地震作用下房屋破坏导致的死亡人口评估图","2","17","1"),
    FX_CASE_MAP_10("1702","50年超越概率10%地震作用下房屋破坏导致的死亡人口评估图","2","17","1"),
    FX_CASE_MAP_2("1703","50年超越概率2%地震作用下房屋破坏导致的死亡人口评估图","2","17","1"),
    FX_CASE_MAP_1("1704","100年超越概率1%地震作用下房屋破坏导致的死亡人口评估图","2","17","1"),

    //Control zoning map 防治区划图
    CONTROL_DIVISION("19", "防治区划图", "1", "1","1"),
    //fxqh_hdc100
    FXQH_HDC100("1901", "活动断层100m避让缓冲区", "2", "19","1"),
    //fxqh_hdc200
    FXQH_HDC200("1902", "活动断层200m避让缓冲区", "2", "19","1"),
    //fxqh_priority
    FXQH_PRIORITY("1903", "抗震加固优先级", "2", "19","1"),

    FCLTDIST_EVALUATEMAP("23", "房屋建筑、市政设施隐患评估图", "1","1", "1"),
    //yh_disaster 市政桥梁地震隐患评估成果图
    YH_DISASTER_FW("2301", "房屋建筑物地震隐患评估图", "2", "23","1"),
    YH_DISASTER_SZ("2302", "市政桥梁地震隐患评估图", "2", "23","1"),
    YH_DISASTER_CS("2303", "城市自来水厂地震隐患评估图", "2", "23","1"),

    QH_DRILL("27", "场地地震工程地质条件钻孔", "1", "1","1"),
    //qh_y02
    QH_DRILL_PK("2701", "实测孔数(PK)", "2", "27","1"),
    QH_DRILL_SK("2702", "工勘孔数(SK)", "2", "27","1"),

    HDDC_D_MAP("30", "活动断层分布图编制", "1", "1","1"),
    // hddc_d_resultmaptable     1:5 万活动断层分布图
    HDDC_D_MAP5("3001", "1:5 万活动断层分布图", "2", "30","1"),

    EQ_S_MAP("32", "地震构造图编制", "1", "1","1"),
    // hddc_d_resultmaptable     1:25 万地震构造图编制
    EQ_S_MAP25("3201", "1:25 万地震构造图编制", "2", "32","1"),

    HDDC_DATA("33", "全国活动断层图", "1", "1", "1"),

    // hddc_activefault
    HDDC_ACTIVEFAULT("3301", "活动断层线", "2", "33", "1"),
    //hddc_activefault_positionerror
    HDDC_ACTIVEFAULT_POSITIONERROR("3302", "活动断层位置误差 ", "2", "33", "1"),


    HDDC_CJ("34", "活动断层采集数据", "1", "1","1"),
    HDDC_ARESURVEY("3401", "区域调查数据", "2", "34","1"),
    //          A1_InvRgnHasMaterialTable-调查区与面状资料关联表-属性表管理 hddc_a1_invrgnhasmaterialtable
    HDDC_A1_IRHMATERIAL("3401001", "调查区与面状资料关联表-属性表管理", "3", "3401","1"),
    //          A1_LiteratureDocumentTable-文献资料库-属性表管理 hddc_a1_literaturedocumenttable
    HDDC_A1_LDOCUMENT("3401002", "文献资料库-属性表管理", "3", "3401","1"),
    //          MainAFSvyRegion-主要活动断层制图区-面 hddc_mainafsvyregion
    HDDC_MAFSREGION("3401003", "主要活动断层制图区-面", "3", "3401","1"),
    //          MaterialPolygonLayer-面状资料图层-面 hddc_materialpolygonlayer
    HDDC_MPLAYER("3401004", "面状资料图层-面", "3", "3401","1"),
    //          TargetRegion-目标区-面 hddc_targetregion
    HDDC_TREGION("3401005", "目标区-面", "3", "3401","1"),
    //          WorkRegion-工作区-面 hddc_workregion
    HDDC_WTEGION("3401006", "工作区-面", "3", "3401","1"),
    //          GeologicalSvyPlanningLine-地质调查规划路线-线管理 hddc_geologicalsvyplanningline
    HDDC_GSPLINE("3401007", "地质调查规划路线-线管理", "3", "3401","1"),
    //          GeologicalSvyPlanningPt-地质调查规划点-点管理 hddc_geologicalsvyplanningpt
    HDDC_GSPPT("3401008", "地质调查规划点-点管理", "3", "3401","1"),

    HDDC_GEOSURVEY("3402", "地质调查数据", "2", "34","1"),
    //          B1_F_PaleoEQEvtTable-断层段古地震事件表-属性表管理 hddc_b1_f_paleoeqevttable
    HDDC_B1_FPEQEVT("3402001", "断层段古地震事件表-属性表管理", "3", "3402","1"),
    //          B1_GeomorLnOnFractBlt-地貌线与地表破裂带关联表-属性表管理 hddc_b1_geomorlnonfractblt
    HDDC_B1_GLOFBLT("3402002", "地貌线与地表破裂带关联表-属性表管理", "3", "3402","1"),
    //          B1_TrenchBelongSamplePrj-探槽与采样工程关联表-属性表管理 hddc_b1_trenchbelongsampleprj
    HDDC_B1_TBSPRJ("3402003", "探槽与采样工程关联表-属性表管理", "3", "3402","1"),
    //          B1_PaleoEQEvent-探槽古地震事件-属性表管理 hddc_b1_paleoeqevent
    HDDC_B1_PEQEVENT("3402004", "探槽古地震事件-属性表管理", "3", "3402","1"),
    //          B1_GeomorLnHasGeoSvyPt-地貌线与地质地貌点关联表-属性表管理 hddc_b1_geomorlnhasgeosvypt
    HDDC_B1_GLHGSPT("3402005", "地貌线与地质地貌点关联表-属性表管理", "3", "3402","1"),
    //          B1_GeomorPlyHasGeoSvyPt-地貌面与地质地貌点关联表-属性表管理 hddc_b1_geomorplyhasgeosvypt
    HDDC_B1_GPHGSPT("3402006", "地貌面与地质地貌点关联表-属性表管理", "3", "3402","1"),
    //         B1_GeologySvyProjectTable-地质调查工程表-属性表管理 hddc_b1_geologysvyprojecttable
    HDDC_B1_GEOSPT("3402007", "地质调查工程表-属性表管理", "3", "3402","1"),
    //         B1_GeomorPlyOnFractBlt-地貌面与地表破裂带关联表-属性表管理 hddc_b1_geomorplyonfractblt
    HDDC_B1_GPOFBLT("3402008", "地貌面与地表破裂带关联表-属性表管理", "3", "3402","1"),
    //         ImportantSurfaceFeature-重要地名地物-点管理 hddc_importantsurfacefeature
    HDDC_IMPSURFEA("3402009", "重要地名地物-点管理", "3", "3402","1"),
    //         B1_F_PaleoEQEvtHasTrench-断层段古地震事件与探槽关联表-属性表管理 hddc_b1_f_paleoeqevthastrench
    HDDC_B1_FPEQEHT("3402010", "断层段古地震事件与探槽关联表-属性表管理", "3", "3402","1"),
    //         GeomorphyPolygon-地貌面-面管理 hddc_geomorphypolygon
    HDDC_GEOPOLYGON("3402011", "地貌面-面管理", "3", "3402","1"),
    //         GeomorphyLine-地貌线-线管理 hddc_geomorphyline
    HDDC_GEOLINE("3402012", "地貌线-线管理", "3", "3402","1"),
    //         ActiveFault-活动断层-线管理 hddc_activefault
    HDDC_ACTFAULT("3402013", "活动断层-线管理", "3", "3402","1"),
    //         GeoProfileLine-地质剖面线-线管理 hddc_geoprofileline
    HDDC_GEOPROLINE("3402014", "地质剖面线-线管理", "3", "3402","1"),
    //         GeologicalSvyLine-地质调查路线-线管理 hddc_geologicalsvyline
    HDDC_GEOSVYLINE("3402015", "地质调查路线-线管理", "3", "3402","1"),
    //         Trench-探槽-点管理 hddc_trench
    HDDC_TRENCH("3402016", "探槽-点管理", "3", "3402","1"),
    //         StratigraphySvyPoint-地层观测点-点管理 hddc_stratigraphysvypoint
    HDDC_STRSVYPOINT("3402017", "地层观测点-点管理", "3", "3402","1"),
    //         GeologicalSvyPoint-地质调查观测点-点管理 hddc_geologicalsvypoint
    HDDC_GEOSVYPOINT("3402018", "地质调查观测点-点管理", "3", "3402","1"),
    //         GeoGeomorphySvyPoint-地质地貌调查观测点-点管理 hddc_geogeomorphysvypoint
    HDDC_GEOGEOSVYPOINT("3402019", "地质地貌调查观测点-点管理", "3", "3402","1"),
    //         FaultSvyPoint-断层观测点-点管理 hddc_faultsvypoint
    HDDC_FAUSVYPOINT("3402020", "断层观测点-点管理", "3", "3402","1"),

    HDDC_PHYSURVEY("3403", "地貌调查数据", "2", "34","1"),
    //B2_GeomorphySvyProjectTable-微地貌测量工程-属性表管理 hddc_b2_geomorphysvyprojecttable
    HDDC_B2_GEOSVYPRO("3403001", "微地貌测量工程-属性表管理", "3", "3403","1"),
    // GeomorphySvySamplePoint-微地貌测量采样点-点管理 hddc_geomorphysvysamplepoint
    HDDC_GEOSSSPOINT("3403002", "微地貌测量采样点-点管理", "3", "3403","1"),
    // GeomorphySvyPoint-微地貌测量点-点管理 hddc_geomorphysvypoint
    HDDC_GEOSPOINT("3403003", "微地貌测量点-点管理", "3", "3403","1"),
    // GeomorStation-微地貌测量基站点-点管理 hddc_geomorstation
    HDDC_GEOSTATION("3403004", "微地貌测量基站点-点管理", "3", "3403","1"),
    // GeomorphySvyLine-微地貌测量线-线管理 hddc_geomorphysvyline
    HDDC_GEOSLINE("3403005", "微地貌测量线-线管理", "3", "3403","1"),
    // GeomorphySvyRegion-微地貌测量面-面管理 hddc_geomorphysvyregion
    HDDC_GEOSREGION("3403006", "微地貌测量面-面管理", "3", "3403","1"),
    // GeomorphySvyReProf-微地貌面测量切线-线管理 hddc_geomorphysvyreprof
    HDDC_GEOSRPROF("3403007", "微地貌面测量切线-线管理", "3", "3403","1"),

    HDDC_EXPSURVEY("3404", "钻探调查数据", "2", "34","1"),
    // DrillHole-钻孔-点管理 hddc_drillhole
    HDDC_DRILLHOLE("3404001", "钻孔-点管理", "3", "3404","1"),
    // B3_DrillProjectTable-钻探工程表-属性表管理 hddc_b3_drillprojecttable
    HDDC_B3_DRIPROJ("3404002", "钻探工程表-属性表管理", "3", "3404","1"),
    // CollectedDrillHole-收集钻孔-点管理 hddc_collecteddrillhole
    HDDC_COLDRILLHOLE("3404003", "收集钻孔-点管理", "3", "3404","1"),
    // DrillFaultPoint-跨断层钻探断点-点管理 hddc_drillfaultpoint
    HDDC_DRIFAUPOINT("3404004", "跨断层钻探断点-点管理", "3", "3404","1"),
    // DrillProfile-跨断层钻探剖面-线管理 hddc_drillprofile
    HDDC_DRIPROFILE("3404005", "跨断层钻探剖面-线管理", "3", "3404","1"),

    HDDC_FIESAMPLING("3405", "野外采样数据", "2", "34","1"),
    // SamplePoint-采样点-点管理 hddc_samplepoint
    HDDC_SAMPOINT("3405001", "采样点-点管理", "3", "3405","1"),
    // B4_SampleDataTable-样品数据表-属性表管理 hddc_b4_sampledatatable
    HDDC_B4_SAMPDATA("3405002", "样品数据表-属性表管理", "3", "3405","1"),
    // B4_SampleProjectTable-采样工程表-属性表管理 hddc_b4_sampleprojecttable
    HDDC_B4_SAMPROJ("3405003", "采样工程表-属性表管理", "3", "3405","1"),
    // B4_SampleResultTable-样品测试结果表-属性表管理 hddc_b4_sampleresulttable
    HDDC_B4_SAMPRESULT("3405004", "样品测试结果表-属性表管理", "3", "3405","1"),

    HDDC_GEOPHYPRO("3406", "地球物理探测数据", "2", "34","1"),
    // B5_GeophySvyProjectTable-地球物理探测工程表管理-属性表管理 hddc_b5_geophysvyprojecttable
    HDDC_B5_GEOSPROJ("3406001", "地球物理探测工程表管理-属性表管理", "3", "3406","1"),
    // GeophySvyFaultPoint-地球物理探测断点-点管理 hddc_geophysvyfaultpoint
    HDDC_GEOSFPOINT("3406002", "地球物理探测断点-点管理", "3", "3406","1"),
    // B5_GeophySvyDataTable-地球物理探测数据表管理-属性表管理 hddc_b5_geophysvydatatable
    HDDC_B5_GEOSDATA("3406003", "地球物理探测数据表管理-属性表管理", "3", "3406","1"),
    // GeophySvyPoint-地球物理测点-点管理 hddc_geophysvypoint
    HDDC_GEOPSPOINT("3406004", "地球物理测点-点管理", "3", "3406","1"),
    // GeophySvyLine-地球物理测线-线管理 hddc_geophysvyline
    HDDC_GEOPSLINE("3406005", "地球物理测线-线管理", "3", "3406","1"),

    HDDC_GEOCHEEXP("3407", "地球化学探测数据", "2", "34","1"),
    // B6_GeochemicalProjectTable-地球化学探测工程表管理-属性表管理 hddc_b6_geochemicalprojecttable
    HDDC_B6_GEOCHEPROJ("3407001", "地球化学探测工程表管理-属性表管理", "3", "3407","1"),
    // GeochemicalAbnPoint-地球化学探测异常点-点管理 hddc_geochemicalabnpoint
    HDDC_GEOCHEAPOINT("3407002", "地球化学探测异常点-点管理", "3", "3407","1"),
    // GeochemicalAbnSegment-地球化学异常区段-线管理 hddc_geochemicalabnsegment
    HDDC_GEOCHEASEGM("3407003", "地球化学异常区段-线管理", "3", "3407","1"),
    // B6_GeocheSvyDataTable-地球化学探测数据表-属性表管理 hddc_b6_geochesvydatatable
    HDDC_B6_GEOCHESDATA("3407004", "地球化学探测数据表-属性表管理", "3", "3407","1"),
    // GeochemicalSvyPoint-地球化学探测测点-点管理 hddc_geochemicalsvypoint
    HDDC_GEOCHESPOINT("3407005", "地球化学探测测点-点管理", "3", "3407","1"),
    // GeochemicalSvyLine-地球化学探测测线-线管理 hddc_geochemicalsvyline
    HDDC_GEOCHESLINe("3407006", "地球化学探测测线-线管理", "3", "3407","1"),

    HDDC_VOLINVEST("3408", "火山调查数据", "2", "34","1"),
    // B7_VolcanicSvyProjectTable-火山化学测量工程表-属性表管理 hddc_b7_volcanicsvyprojecttable
    HDDC_B7_VOLSPROJ("3408001", "火山化学测量工程表-属性表管理", "3", "3408","1"),
    // B7_VolcanicSampleResultTable-火山调查采样测试结果表-属性表管理 hddc_b7_volcanicsampleresulttable
    HDDC_B7_VOLSRESU("3408002", "火山调查采样测试结果表-属性表管理", "3", "3408","1"),
    // B7_VolcanicDataTable-火山地质调查填图数据表-属性表管理 hddc_b7_volcanicdatatable
    HDDC_B7_VOLDATA("3408003", "火山地质调查填图数据表-属性表管理", "3", "3408","1"),
    // B7_VolSvyPtObservationObject-火山调查观测点观测对象-属性表管理 hddc_b7_volsvyptobservationobject
    HDDC_B7_VOLSPTOBS("3408004", "火山调查观测点观测对象-属性表管理", "3", "3408","1"),
    // Crater-火山口-点管理 hddc_crater
    HDDC_CRATER("3408005", "火山口-点管理", "3", "3408","1"),
    // VolcanicSamplePoint-火山采样点-点管理 hddc_volcanicsamplepoint
    HDDC_VOLSAMPOINT("3408006", "火山采样点-点管理", "3", "3408","1"),
    // VolcanicSvyPoint-火山调查观测点-点管理 hddc_volcanicsvypoint
    HDDC_VOLSVYPOINT("3408007", "火山调查观测点-点管理", "3", "3408","1"),
    // Lava-熔岩流-面管理  hddc_lava
    HDDC_LAVA("3408008", "熔岩流-面管理", "3", "3408","1"),

    HDDC_REMSENIMG("3409", "遥感影像数据", "2", "34","1"),
    // ImageIndexLayer-影像索引表-面管理  hddc_imageindexlayer
    HDDC_IMGINDLAY("3409001", "影像索引表-面管理", "3", "3409","1"),
    // RSInterpretationLine-航、卫片解译线-线  hddc_rsinterpretationline
    HDDC_RSINTLINE("3409002", "航、卫片解译线-线", "3", "3409","1"),
    // RSInterpretationPolygon-航、卫片解译面-面  hddc_rsinterpretationpolygon
    HDDC_RSINTPOLYGON("3409003", "航、卫片解译面-面", "3", "3409","1"),

    HDDC_GEOPHYSICS("3410", "地球物理学数据", "2", "34","1"),
    // VerticalDeformation-垂直形变-线管理  hddc_verticaldeformation
    HDDC_VERDEFOR("3410001", "垂直形变-线管理", "3", "3410","1"),
    // AviationMagnetic-航磁-线管理  hddc_aviationmagnetic
    HDDC_AVIAMAGN("3410002", "航磁-线管理", "3", "3410","1"),
    // GMInterpretationLine-重磁解译线-线管理  hddc_gminterpretationline
    HDDC_GMINTLINE("3410003", "重磁解译线-线管理", "3", "3410","1"),
    // CrustIsoline-地壳厚度-线管理  hddc_crustisoline
    HDDC_CRULINE("3410004", "地壳厚度-线管理", "3", "3410","1"),
    // HorizontalDeformation-水平形变-点管理  hddc_horizontaldeformation
    HDDC_HORIDEFOR("3410005", "水平形变-点管理", "3", "3410","1"),
    // GravityField-重力场-线管理  hddc_gravityfield
    HDDC_GRAVFIELD("3410006", "重力场-线管理", "3", "3410","1"),

    HDDC_WORKINGMAP("3411", "工作地图数据", "2", "34","1"),
    // Rock1LinePre-1：1万底图岩体线-线  hddc_rock1linepre
    HDDC_ROCK1LINE("3411001", "1：1万底图岩体线-线", "3", "3411","1"),
    // Rock1Pre-1：1万工作底图岩体-面  hddc_rock1pre
    HDDC_ROCK1PRE("3411002", "1：1万工作底图岩体-面", "3", "3411","1"),
    // Rock25LinePre-1：25万底图岩体线-线  hddc_rock25linepre
    HDDC_ROCK25LINE("3411003", "1：25万底图岩体线-线", "3", "3411","1"),
    // Rock25Pre-1：25万工作底图岩体-面  hddc_rock25pre
    HDDC_ROCK25PRE("3411004", "1：25万工作底图岩体-面", "3", "3411","1"),
    // Rock5LinePre-1：5万底图岩体线-线  hddc_rock5linepre
    HDDC_ROCK5LINE("3411005", "1：5万底图岩体线-线", "3", "3411","1"),
    // Rock5Pre-1：5万工作底图岩体-面  hddc_rock5pre
    HDDC_ROCK5PRE("3411006", "1：5万工作底图岩体-面", "3", "3411","1"),
    // Stratigraphy1LinePre-1：1万底图地层线-线  hddc_stratigraphy1linepre
    HDDC_STRPHY1LINE("3411007", "1：1万底图地层线-线", "3", "3411","1"),
    // Stratigraphy1Pre-1：1万工作底图地层-面  hddc_stratigraphy1pre
    HDDC_STRPHY1Pre("3411008", "1：1万工作底图地层-面", "3", "3411","1"),
    // Stratigraphy25LinePre-1：25万底图地层线-线  hddc_stratigraphy25linepre
    HDDC_STRPHY25LINE("3411009", "1：25万底图地层线-线", "3", "3411","1"),
    // Stratigraphy25Pre-1：25万工作底图地层-面  hddc_stratigraphy25pre
    hddc_STRPHY25Pre("3411010", "1：25万工作底图地层-面", "3", "3411","1"),
    // Stratigraphy5LinePre-1：5万底图地层线-线  hddc_stratigraphy5linepre
    HDDC_STRPHY5LINE("3411011", "1：5万底图地层线-线", "3", "3411","1"),
    // Stratigraphy5Pre-1：5万工作底图地层-面  hddc_stratigraphy5pre
    HDDC_STRPHY5Pre("3411012", "1：5万工作底图地层-面", "3", "3411","1"),

    HDDC_SEISWAVE("3412", "地震波数据", "2", "34","1"),
    // EpiMechanismResult-震源机制解数据-点管理  hddc_epimechanismresult
    HDDC_EPIMECHRES("3412001", "震源机制解数据-点管理", "3", "3412","1"),
    // StrongSeismicCatalog-1970年前4 3_4以上强震目录-点管理  hddc_strongseismiccatalog
    HDDC_STRSEICATA("3412002", "1970年前4 3_4以上强震目录-点管理", "3", "3412","1"),
    // A6_StationHasWaveforms-台站与小震波形数据关联表-属性表管理  hddc_a6_stationhaswaveforms
    HDDC_A6_STAHASWAVE("3412003", "台站与小震波形数据关联表-属性表管理", "3", "3412","1"),
    // ISCatalog-1970年以来地震目录-点管理  hddc_iscatalog
    HDDC_ISCATA("3412004", "1970年以来地震目录-点管理", "3", "3412","1"),
    // A6_WaveformTable-小震波形数据记录表-属性表管理  hddc_a6_waveformtable
    HDDC_A6_WAVEFORM("3412005", "小震波形数据记录表-属性表管理", "3", "3412","1"),
    // A6_StrongSeiHasFractBlt-强震与地表破裂关联表-属性表管理  hddc_a6_strongseihasfractblt
    HDDC_A6_SSHFBLT("3412006", "强震与地表破裂关联表-属性表管理", "3", "3412","1"),
    // Station-地震台站-点管理  hddc_station
    HDDC_STATION("3412007", "地震台站-点管理", "3", "3412","1"),

    ;

    /**
     * 菜单id
     */
    private String menuId;
    /**
     * 菜单名称
     */
    private String menuName;
    /**
     * 菜单等级
     */
    private String level;
    /**
     * 父菜单id
     */
    private String pid;

    /**
     * 使用状态
     */
    private String status;

    MenuInfoEnum(String menuId, String menuName, String level, String pid, String status) {
        this.menuId = menuId;
        this.menuName = menuName;
        this.level = level;
        this.pid = pid;
        this.status = status;
    }

    public String getMenuId() {
        return menuId;
    }

    public String getMenuName() {
        return menuName;
    }

    public String getLevel() {
        return level;
    }

    public String getPid() {
        return pid;
    }

    public String getStatus() {
        return status;
    }

    /**
     * 如果不重写toString方法，在调用枚举的时候，是输出的枚举名
     * 如 TaskInfoEnum.EQ_SURVEY，将输出EQ_SURVEY
     */
    @Override
    public String toString() {
        return "MenuInfoEnum [menuId=" + this.menuId + ", menuName=" + this.menuName +", level=" + this.level +", pid=" + this.pid + ", status="+this.status+"]";
    }

    /**
     * 根据任务名称获取任务对象(枚举实例)
     * @param menuId
     * @return
     */
    public static MenuInfoEnum getInstanceByName(String menuId) {
        for (MenuInfoEnum menu : MenuInfoEnum.values()) {
            if (menu.getMenuId().equals(menuId)) {
                return menu;
            }
        }
        return null;
    }

    public static List<MenuInfo> getMenuInfo(){
        List<MenuInfo> menuInfos = new ArrayList<>();
        for (MenuInfoEnum menu : MenuInfoEnum.values()) {
            if("1".equals(menu.getStatus())){
                MenuInfo  menuInfo = new MenuInfo();
                menuInfo.setMenuId(menu.getMenuId());
                menuInfo.setMenuName(menu.getMenuName());
                menuInfo.setPid(menu.getPid());
                menuInfo.setLevel(menu.getLevel());
                menuInfos.add(menuInfo);
            }
        }
        return menuInfos;
    }

}
